package com.bookocean.controller.dto;

import lombok.Data;

import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
import java.time.LocalDateTime;

/**
 * 徽章数据传输对象
 * 
 * @author BookOcean
 * @since 2024-01-01
 */
@Data
public class BadgeDto {
    
    /**
     * 徽章ID
     */
    private Long badgeId;
    
    /**
     * 徽章名称
     */
    @NotBlank(message = "徽章名称不能为空")
    private String name;
    
    /**
     * 徽章描述
     */
    private String description;
    
    /**
     * 徽章图标URL
     */
    private String iconUrl;
    
    /**
     * 徽章分类
     */
    private String category;
    
    /**
     * 获得条件
     */
    private String requirement;
    
    /**
     * 是否已获得
     */
    private Boolean obtained;
    
    /**
     * 获得时间（仅当已获得时有效）
     */
    private LocalDateTime earnedAt;
    
    /**
     * 是否显示
     */
    private Boolean isVisible;
}
